package com.tiancheng.trade.order.vo.app;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

@Getter
@Setter
public class CreditOrderAppVO {
    /**
     * 订单中心订单号
     */
    @JSONField(name = "order_id")
    private String orderId;
    /**
     * 用户uid
     */
    @JSONField(name = "uid")
    private String uid;
    /**
     * 订单id
     */
    @JSONField(name = "alipay_auth_no")
    private String alipayAuthNo;
    /**
     * 业务侧订单id
     */
    @JSONField(name = "platform_order_id")
    private String platformOrderId;
    /**
     * 订单状态
     */
    @JSONField(name = "state")
    private String orderState;
    /**
     * 预授权订单总金额（分）
     */
    @JSONField(name = "total_amount")
    private Integer totalAmount;
    /**
     * 预授权订单总冻结金额
     */
    @JSONField(name = "total_freeze_amount")
    private Integer totalFreezeAmount;
    /**
     * 授权冻结信用金额总额（分）
     */
    @JSONField(name = "total_credit_amount")
    private Integer totalCreditAmount;
    /**
     * 预授权订单冻结信用总金额
     */
    @JSONField(name = "total_freeze_credit_amount")
    private Integer totalFreezeCreditAmount;
    /**
     * 授权冻结资金金额总额（分）
     */
    @JSONField(name = "total_fund_amount")
    private Integer totalFundAmount;
    /**
     * 预授权订单冻结资金总金额（分）
     */
    @JSONField(name = "total_freeze_fund_amount")
    private Integer totalFreezeFundAmount;
    /**
     * 预授权订单转支付总金额（分）
     */
    @JSONField(name = "total_pay_amount")
    private Integer totalPayAmount;
    /**
     * 预授权订单剩余金额（分）
     */
    @JSONField(name = "rest_amount")
    private Integer restAmount;

    /**
     * 授权状态
     */
    @JSONField(name = "auth_status")
    private String authStatus;
    /**
     * 预授权类型，CREDIT_AUTH信用授权
     */
    @JSONField(name = "credit_auth_type")
    private String creditAuthType;
    /**
     * 预授权类型，CREDIT_AUTH信用授权
     */
    @JSONField(name = "product_name")
    private String productName;
    /**
     * 是否履约
     */
    @JSONField(name = "contract_state")
    private Integer contractState;
    /**
     * 预授权时间
     */
    @JSONField(name = "pre_auth_time")
    private LocalDateTime preAuthTime;
    /**
     * 预授权时间
     */
    @JSONField(name = "create_time")
    private LocalDateTime createdDt;
    /**
     * 更新时间
     */
    @JSONField(name = "update_time")
    private LocalDateTime lastUpdDt;
    /**
     * 订单状态说明
     */
    @JSONField(name = "description")
    private String description;
    /**
     * 扩展字段
     */
    @JSONField(name = "extend_fields")
    private String extendFields;
    /**
     * 扩展字段
     */
    @JSONField(name = "merchant_id")
    private String merchantId;

}
